A customer-centric organization needs to seamlessly integrate its operations with its customer intelligence to ensure a complete and actionable 360-degree view of the customer. Every interaction is generally treated as an opportunity to improve the customer experience through superior service, resulting in higher satisfaction, loyalty, and retention. Done correctly, these lead to increased success in both profit-based and non-profit-based businesses and services.
To this end, it is known in the art to provide a cloud-based, premise-based or hybrid (cloud-premise) customer interaction management platform that handles various types of inbound and outbound interactions (e.g., traditional voice, voice-over-IP, email, web chat/IM, SMS/MMS, video, fax, self-service other work items, etc.) to various types of resources (e.g., a contact center agents, a back office, an expert/knowledge worker, a branch office, a self-service operation, an outsourced operation, etc.). Customers may interact through the platform with different types of individuals (e.g., contact center agents, knowledge workers, back-office workers, etc.) and across multiple channels (e.g., contact center/IVR, proactive engagements, web, social media, mobile, etc.).
In one embodiment, a customer interaction management platform integrates a contact center, agent stations, and, optionally, a customer relation management (CRM) server. Typically, the contact center, the agent station(s), and the customer relation management server are coupled over one or more networks, which may be the Internet, a private network, or a telephone network. The customer relation management server may be physically located within the contact center and maintained by a third party, or located remote from the contact center and still operated thereby. End user interactions that call for management are routed, e.g., from the CRM server, for handling by the contact center agents. In one representative operating scenario, the contact center implements and maintains an object-based agent status model that contains such data as agent identification, workflow assignments, media capability descriptions, and status elements related to communication and media elements. The elements of this agent state model are dynamic and updated in real-time as an agent proceeds to receive or initiate interactions and to communicate with the end user using one or more multimedia applications.
Routing of interactions traditionally involves sending control signaling (as opposed to the media portion of the interaction itself, which typically does not get routed) to one or more agent queues. There may be queues associated with particular types of interactions, and there may be dedicated queues associated with skills or other characteristics of the agents. Typically, routing logic assigns interactions to agents based on configured logic, such as longest-idle agent, least occupied agent, skill level, etc. In an alternative scenario, an interaction is routed to an agent queue, where it is picked up by an available agent associated therewith and who has the appropriate skill level and availability to provide the needed communication with the customer. A hybrid approach may be implemented wherein an agent has associated therewith a personal workbin into which deferrable interactions (e.g., email or other tasks such as answering a customer letter, proactively contacting a customer, etc.) may be placed; in such a mode, the agent typically has some freedom to decide which of his or her tasks to do next. Agents use workbins to store interactions that they have started working on and wish to continue working on at a later time. Interactions can also be distributed to workbins by a routing server. A workbin is like a queue in that it holds interactions, although a workbin typically is associated with a particular agent. A shared group workbin may be used by multiple agents in a group or place. Agents can view the contents of the workbin and pull interactions from it in any order. Thus, in a scenario in which agents have flexibility in selecting interactions, typically the agent can view some details (e.g., statistics such as number of interactions in queue, or average wait time, or service level, etc.) about a queue containing all of the interactions they are assigned to handle. Processing of interactions in queue usually is automated, although an agent may have an opportunity to interact with the identified or viewable interactions. In the latter case, and when given a choice (possibly constrained by service level or other policies), an agent may elect to pick the interactions that are most easy to resolve, or the contacts with which he or she is most familiar. Typically, an agent is trained for certain activities/tasks, some of which the agent may be scheduled to handle based, for example, on a designated “skill” attribute that may be enabled or disabled at a given point in time. Further, as a particular customer interaction proceeds, the customer may be handed off from one agent to another, either as dictated by business process workflow, because a first agent is unable to address the customer's need, or for other reasons. Although agent switching is sometimes required, it is desirable to avoid or reduce the impact of a context switch, especially if a given agent is aware of a prior contact history and can also handle anticipated follow-up steps.
In a traditional interaction, the contact center agent assignment logic preferably routes an inbound interaction to what the system determines is a “best” or target agent. The agent typically is selected or defined based on one or more criteria, such as availability, occupancy, static customer segment, priority, required skills to handle an interaction of a given media type, agent capacity, customer interaction history (e.g., last agent routing), and other criteria, such as up- or cross-sell opportunities, agent skills, and the like.
While these techniques work well, it is desirable to provide enhanced contact center routing strategies.